package com.bibrApp.difu.actvity.others;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;

import com.bibrApp.difu.R;
import com.bibrApp.difu.actvity.customer_service_mvp.CustomerServiceActivity;
import com.bibrApp.difu.base.BaseActivity;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import butterknife.BindView;
import butterknife.OnClick;

public class HelpCenterActivity extends BaseActivity<OtherPresenter> implements IOtherView {


    @BindView(R.id.tab_list)
    RecyclerView tabList;
    @BindView(R.id.recycler_view)
    RecyclerView recyclerView;
    private TabAdapter tabAdapter;
    private QuestionAdapter questionAdapter;

    @Override
    protected void initPresenter() {
        presenter = new OtherPresenter(this, this);
        presenter.init();
    }

    @Override
    protected int getLayoutId() {
        return R.layout.activity_help_center;
    }

    @Override
    public void error(String msg) {

    }

    @Override
    public void success(String msg) {

    }

    @Override
    public void initView() {
        tabList.setLayoutManager(new GridLayoutManager(this, 4));
        tabAdapter = new TabAdapter();
        tabList.setAdapter(tabAdapter);

        tabAdapter.setOnItemClickListener((adapter, view, position) -> {
            tabAdapter.setSelect(position);
            onTabChanged(position);
        });
        tabAdapter.setNewData(Arrays.asList("常见问题", "登录问题", "充币问题", "提币问题"));

        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        questionAdapter = new QuestionAdapter();
        recyclerView.setAdapter(questionAdapter);
        questionAdapter.setOnItemClickListener((adapter, view, position) -> {
            questionAdapter.setSelect(position);
        });
        onTabChanged(0);
    }

    @OnClick(R.id.bt_back)
    public void backClick() {
        finish();
    }

    @OnClick(R.id.btn_kefu)
    public void serviceClick() {
        startActivity(CustomerServiceActivity.class);
    }

    private void onTabChanged(int position) {
        if (position == 0) {
            setNormalDatas();
        } else if (position == 1) {
            getLoginQuestions();
        } else if (position == 2) {
            getChongbiQuestions();
        } else {
            getTibiQuestions();
        }
    }

    private void getLoginQuestions() {
        List<QuestionBean> datas = new ArrayList<>();
        datas.add(new QuestionBean("忘记登录密码？", "1.点击忘记密码。\n" +
                "2.输入手机号/邮箱。\n" +
                "3.输入新的密码。\n" +
                "4.获取验证码。\n" +
                "5.提交。"));
        datas.add(new QuestionBean("忘记资金安全码？", "1.点击安全设置。\n" +
                "2.点击更改资金验证码。\n" +
                "3.输入新密码以及验证码。\n" +
                "4.提交。"));
        questionAdapter.setDatas(datas, -1);
    }

    private void getChongbiQuestions() {
        List<QuestionBean> datas = new ArrayList<>();
        datas.add(new QuestionBean("充币未到账？", "虚拟币转入一般需要经过3个网络确认后15-45分钟内到账，具体到账时间以实际到账时间为准。如长时间未到账，请联系在线客服核实原因。"));
        questionAdapter.setDatas(datas, -1);
    }

    private void getTibiQuestions() {
        List<QuestionBean> datas = new ArrayList<>();
        datas.add(new QuestionBean("提币未到账？", "虚拟币转入一般需要经过3个网络确认后15-45分钟内到账，具体到账时间以实际到账时间为准。如长时间未到账，请联系在线客服核实原因。"));
        questionAdapter.setDatas(datas, -1);
    }

    private void setNormalDatas() {
        List<QuestionBean> datas = new ArrayList<>();
        datas.add(new QuestionBean("如何注册？", "1.进入迪富首页。\n" +
                "2.点击注册按钮。\n" +
                "3.根据提示输入手机号/邮箱，然后点击获取验证码。\n" +
                "4.输入验证码，设置登录密码。\n" +
                "5.点击“确认注册”，完成注册。"));
        datas.add(new QuestionBean("如何充币？", "1.点击资产管理进入中心钱包。\n" +
                "2.在资金账户中点击需要币种后面的“充币”按钮。\n" +
                "3.根据系统提供的充币地址进行充币。"));
        datas.add(new QuestionBean("如何提币？", "1.点击资产管理。\n" +
                "2.进入中心钱包。\n" +
                "3.选择需要提币的币种，点击提币按钮。\n" +
                "4.选择提币位置并输入提币地址以及数量。\n" +
                "5.输入验证码后，点击确认。"));
        datas.add(new QuestionBean("什么是序列号？", "序列号有时也指“机器码”，是U盾为了防止盗版而采取的保护措施。和人的身份证号码类似，其作用主要是为了防止自己的U盾被别人盗用。用户要使用U盾就必须知道序列号。既在用户注册的时候会生成的唯一的识别码。"));
        datas.add(new QuestionBean("如何获取U盾序列号？", "1.将U盾连接电脑。\n" +
                "3.点击创建钱包。\n" +
                "4.点击开始创建，然后记录设备上显示的助记词。\n" +
                "2.进入U盾网站。\n" +
                "5.设置PIN码。\n" +
                "6.系统自动获取U盾序列号。"));
        datas.add(new QuestionBean("什么是保证金？", "1.保证金也称为违约金，在借贷开始前，借贷双方都需要充值一定数量的USDT至中心账户中作为保证金。\n" +
                "2.借款人的保证金包括：交易手续费+结算手续费+30日利息+合约生成维护费。\n" +
                "3.出借人的保证金=借出金额的1%，在交割完成后将返还0.9%，平台收取借款金额的0.1%作为手续费。\n" +
                "4.在预认购期间，如果有出借人已经进行认购，此时借款人违约撤销订单，将扣除保证金。\n" +
                "5.在预认购期间，如果没有出借人进行预认购，此时借款人撤销订单则不扣除保证金。\n" +
                "6.在交割中，若任意一方违约未进行转币，则扣除违约方的保证金。"));
        datas.add(new QuestionBean("什么是私钥、公钥？", "在创建钱包之后，输入密码就可以到处独属于自己的私钥，它的意义就是相当于银行卡号加上银行卡密码。\n" +
                "       在数字资产世界里，钱包是一个密钥 (包含私钥和公钥) 的管理容器，用户使用私钥进行签名交易，用公钥来生成地址；在区块链世界（去中心化账本），虽然不存在银行这个统一的中心，但是依然有“账户”的存在。私钥就相当于传统银行的“密码”，用于验证我们是这个账户的主人，在区块链世界里称为“签名”；而公钥可以用来生成“地址”，地址相当于传统银行的“卡号”，在网络中代表我们跟其他账户进行交流。"));
        questionAdapter.setDatas(datas, -1);
    }
}
